package string.compare;

/**
 * @Classname : IsomorphicStrings
 * @Description : 205. 同构字符串
 * https://leetcode.cn/problems/isomorphic-strings/
 * @Author : chentianyu
 * @Date 2022/12/8 23:25
 */


public class IsomorphicStrings {
    public boolean isIsomorphic(String s, String t) {
        // 长度不一致，返回fasle
        if (s.length() != t.length()) return false;

        int[] ss = new int[128];
        int[] ts = new int[128];
        for (int i = 0; i < s.length(); i++) {
            // 两者同一位置对应字符出现的位置应该相同
            // 两者同一位置对应字符若都未出现默认为0，也是相等的
            if (ss[s.charAt(i)] != ts[t.charAt(i)]) return false;
            // 更新两者同一位置对应字符出现的位置
            ss[s.charAt(i)] = ts[t.charAt(i)] = i + 1;
        }
        return true;
    }
}
